Systems and methods for navigating a scene using deterministic movement of an electronic device

ABSTRACT

Systems and methods are providing for scrolling the display of information based on the displacement of the electronic device. An electronic device can include a motion sensing component operative to detect movement of the electronic device (e.g., an accelerometer). The electronic device can display any suitable information, including information that is too large to display at a single instance on the display (e.g., a multi-page text document, or a large image). To view portions of the information that are not initially displayed (e.g., to scroll displayed information), the user can move the electronic device along the plane of the device. As the motion sensing component detects movement, the electronic device can scroll the displayed information to match the detected movement. In some embodiments, the electronic device can detect tilt movements and adjust the displayed information to reflect the tilted display.

BACKGROUND OF THE INVENTION

This is directed to systems and methods for navigating a scene,document, or other displayed objects using deterministic movement of anelectronic device. In particular, this is directed to systems andmethods for changing the display of objects on a device based onmeasured movements of an electronic device.

Users of electronic devices can view different types of information ondisplays associated with the devices. One significant advantage of usingan electronic device for storing and displaying information can be thatthe amount of information stored and displayed can exceed the physicalsize of the device display. For example, the electronic device can storeand display large documents having more pages than can be simultaneouslydisplayed on the device. As another example, the electronic device candisplay objects or information retrieved from a remote database, such asthe Internet. As still another example, the electronic device candisplay images associated with a virtual or real world (e.g., views of astreet or environment).

To access information using the electronic device, a user can provide aninput using an input mechanism (e.g., a button, touch-screen, switch, orother suitable mechanism) to select particular information for display.For example, a user can select a file to open, activate an applicationwindow (e.g., an application for accessing information from a remotesource, such a web browser for accessing information from the Internet),or select an icon or other selectable object for accessing information.In some embodiments, the amount of information selected for display mayexceed the amount that can be simultaneously displayed by the electronicdevice display. To view all of the available information, the user caneither direct the electronic device to zoom out the display (e.g., suchthat the displayed information is small), or provide an input directingthe device to change the displayed information (e.g., paging up or down,or scrolling displayed information). In some cases, however, a user maynot be able to provide an input to an input mechanism (e.g., the user'shands are busy). Another mechanism may then be necessary to allow a userto view information that is not initially displayed without requiringthe user to provide an input to a particular input mechanism.

SUMMARY OF THE INVENTION

This is directed to systems and methods for viewing information orobjects that exceed the boundaries or periphery of an electronic devicedisplay based on deterministic movement of the electronic device.

In some embodiments, an electronic device can display information thatexceeds the periphery of the device display. For example, a user of anelectronic device can display a text document that includes severalpages, or an image that is larger than the device display (e.g., whenzoomed). To view portions of the information that are not initiallydisplayed, a user can provide an input using an input mechanism (e.g., abutton or a touch screen) to direct the device to scroll the displayedinformation. In some cases, however, the user may not have access to theinput mechanism. For example, a user's hands can be otherwise occupied.As another example, the user may have limited movement with his hands(e.g., the user is holding another object) preventing the user fromaccessing the input mechanism.

To allow the device to scroll displayed information without an inputmechanism input, the electronic device can include a motion sensingcomponent (e.g., an accelerometer) operative to detect movements of theelectronic device. When the user enables a movement based scrolling mode(e.g., using one or more of an input and a predetermined devicemovement), the electronic device can monitor the motion sensingcomponent for device movement and scroll the displayed information basedon the output of the motion sensing component. The information displayedcan be correlated to the device movement using any suitable approach,including for example such that a particular physical position of thedevice corresponds to displaying a determined portion of the information(e.g., returning the device to the initial position when the mode isenabled will cause the device to display the initial portion of theinformation).

In some embodiments, the electronic device can receive or predictmovement information of the electronic device environment. For example,the device can determine where the user and device are moving, andpredict or receive the motion sensing data associated with the movement.The device can then remove the environmental movement component of thedetected motion from the motion sensing component output to isolate thedevice movement caused by the user.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other features of the present invention, its nature andvarious advantages will be more apparent upon consideration of thefollowing detailed description, taken in conjunction with theaccompanying drawings in which:

FIG. 1 is a schematic view of an illustrative electronic device forchanging the display of information based on device movement inaccordance with one embodiment of the invention;

FIG. 2 is a schematic view of an illustrative display of text inaccordance with one embodiment of the invention;

FIG. 3 is a schematic view of an illustrative display of an image inaccordance with one embodiment of the invention;

FIG. 4 is a schematic view of an illustrative display having anindication that a movement based scrolling mode has been enabled;

FIG. 5 is a schematic view of an illustrative display as the devicemoves in accordance with one embodiment of the invention;

FIG. 6 is a schematic view of an illustrative display of informationwhen an electronic device is tilted in accordance with one embodiment ofthe invention;

FIG. 7 is a flowchart of an illustrative process for scrolling displayedinformation based on deterministic movements of an electronic device inaccordance with one embodiment of the invention;

FIG. 8 is a flow chart of an illustrative process for determining motioninformation associated with an accelerating environment in accordancewith one embodiment of the invention; and

FIG. 9 is a flow chart of an illustrative process for modifyingdisplayed information based on motion in a plane other than the plane ofthe display in accordance with one embodiment of the invention.

DETAILED DESCRIPTION

This is directed to systems and methods for navigating informationdisplayed on an electronic device display based on movements of theelectronic device.

An electronic device can be operative to provide information for displayto a user. For example, the electronic device can include an embeddeddisplay operative to display information requested by the user. In someembodiment, the particular information displayed, or the amount ofinformation available for display can exceed the periphery of thedisplay. For example, a user can direct the electronic device to displaya document (e.g., a text document) that does not fit within theboundaries of the display. As another example, the user can direct theelectronic device to access and display information from a remotedatabase, such as mapping information, or a series of images forming apanoramic view of a location.

To display information not initially provided on the display, the usercan provide an input using an input mechanism to direct the electronicdevice to scroll or page the display, thus replacing the displayedinformation with new information. For example, the user can selecton-screen directional keys (e.g., displayed arrows or a scroll bar), orprovide an instruction to scroll the display using an input mechanismcoupled to the device (e.g., directional keys or buttons from a keyboardor keypad), or any other suitable input mechanism. In some cases,however, a user may not be able to access an input mechanism to changethe information displayed by a device. For example, a user may beholding the device in a manner that prevents the user from movingfingers over an input mechanism. As another example, the user may beperforming an action in addition to manipulating the electronic devicethat limits the availability of the user's hands for providing an input.

It may nevertheless be desirable to allow a user to navigate displayedinformation without actuating an input mechanism. In some embodiments,the user may do so based on the output of one or more motion sensing ormotion detection components embedded in the electronic device. Theelectronic device can include any suitable component operative tomonitor and quantify movements of the device. For example, theelectronic device can include one or more accelerometers, gyroscopes, orany other component operative to detect motion. Based on the motionsensing component output, the electronic device can determine the amountand direction by which to scroll the device. The electronic device canuse some or all of the determined motion, including for example onlymotion information associated with the plane of the display (e.g.,ignore the portions of the motion in a direction perpendicular to theplane of the display).

The electronic device can determine the relation between the amount anddirection by which the device was moved and the amount and direction bywhich to scroll the displayed information using any suitable approach.In some embodiments, the electronic device can define a vectorassociated with device movement, and scroll the display in a mannerproportionally related to the vector (e.g., scroll the display by afactor of x times the vector). To ease the burden of following thescrolled display, the electronic device can apply a hysteresis to thedisplay transition.

The user can enable a mode in which device movement is associated withscrolling displayed information using any suitable approach, includingfor example one or more of an input mechanism input and a particularmotion of the device (e.g., touch a touch screen or touch pad and shakethe device). To temporarily disengage the movement based scrolling mode,for example as the user changes position or moves, the user can providea particular input using the input mechanism (e.g., hold a touch screenor touch pad to lock the displayed information until the touch screen ortouch pad is released).

In some embodiments, the electronic device can enable the movement basedscrolling mode in accelerating environments by removing the acceleratingcomponent of the environment from the motion detected by the device. Forexample, the electronic device can determine the expected displacementof the user's environment (e.g., a car or other public transportationused by the user), identify expected accelerations or past accelerationsassociated with the expected displacement, and extract the identifiedaccelerations from the measured movement data of the electronic device.The electronic device can identify information associated with expecteddisplacements using any suitable approach, including for example past orhistoric displacements (e.g., a user's regular commute), a scheduledtrip (e.g., a route planned using a mapping application), GPS ormovement information retrieved from the accelerating environment (e.g.,information from a GPS unit in an automobile), or any other suitableapproach.

To further enhance the user's experience, portions of the detectedmotion in a direction perpendicular to the plane of the display can beused to modify or distort the displayed information relative to theuser's eyes. For example, the electronic device can stretch displayedtext when the device is tilted so that the user will have the impressionof viewing a static, physical document through a reduced size window(e.g. reduced relative the size of the display when it is in the sameplane as the physical document).

FIG. 1 is a schematic view of an illustrative electronic device forchanging the display of information based on device movement inaccordance with one embodiment of the invention. Electronic device 100can include any suitable type of electronic device operative to displayinformation to a user while detecting movement of the device. Forexample, electronic device 100 can include a media player such as aniPod® available by Apple Inc., of Cupertino, Calif., a cellulartelephone, a personal e-mail or messaging device (e.g., a Blackberry® ora Sidekick®), an iPhone® available from Apple Inc., pocket-sizedpersonal computers, personal digital assistants (PDAs), a laptopcomputer, a music recorder, a video recorder, a camera, radios, medicalequipment, and any other portable electronic device capable of beingmoved by the user.

Electronic device 100 can include a processor or control circuitry 102,storage 104, memory 106 input/output circuitry 108, and communicationscircuitry 112, as typically found in an electronic device of the type ofelectronic device 100. In some embodiments, one or more of electronicdevice components 100 can be combined or omitted (e.g., combine storage104 and memory 106), or electronic device 100 can include othercomponents not combined or included in those shown in FIG. 1 (e.g.,positioning circuitry), or several instances of the components shown inFIG. 1. For the sake of simplicity, only one of each of the componentsis shown in FIG. 1.

Motion sensing component 110 can be operative to detect movements ofelectronic device 100. In some embodiments, a motion sensing componentcan include one or more three-axes acceleration motion sensingcomponents (e.g., an accelerometer) operative to detect linearacceleration in three directions (i.e., the x or left/right direction,the y or up/down direction, and the z or forward/backward direction). Asanother example, a motion sensing component can include one or moretwo-axis acceleration motion sensing components which can be operativeto detect linear acceleration only along each of x or left/right and yor up/down directions (or any other pair of directions). In someembodiments, a motion sensing component can include an electrostaticcapacitance (capacitance-coupling) accelerometer that is based onsilicon micro-machined MEMS (Micro Electro Mechanical Systems)technology, a piezoelectric type accelerometer, a piezoresistance typeaccelerometer, or any other suitable accelerometer.

In some embodiments, the motion sensing component can directly detectrotation, rotational movement, angular displacement, tilt, position,orientation, motion along a non-linear (e.g., arcuate) path, or anyother non-linear motions. For example, if the motion sensing componentis a linear motion sensing component, additional processing can be usedto indirectly detect some or all of the non-linear motions. For example,by comparing the linear output of the motion sensing component with agravity vector (i.e., a static acceleration), the motion sensingcomponent can calculate the tilt of electronic device 100 with respectto the y-axis. In some embodiments, the motion sensing component caninstead or in addition include one or more gyro-motion sensingcomponents or gyroscopes for detecting rotational movement. For example,motion sensing component 110 can include a rotating or vibratingelement. As another example, motion sensing component 110 can include amagnometer operative to detect the orientation of the device relative amagnetic north pole. The electronic device can monitor changes in theoutput of the magnometer to detect rotations of the device.

In some embodiments, electronic device 100 can include positioningcircuitry for determining the current position of electronic device 100,and can be operative to update the current position at any suitablerate, including at relatively high rates to provide an estimation ofspeed and distance traveled. In some embodiments, the positioningcircuitry can include a global positioning system (“GPS”) receiver foraccessing a GPS application function call that returns the geographiccoordinates (i.e., the geographic location) of the device. Thegeographic coordinates can be fundamentally, alternatively, oradditionally derived from any suitable trilateration or triangulationtechnique. For example, the device can determine its location usingvarious measurements (e.g., signal-to-noise ratio (“SNR”) or signalstrength) of a network signal (e.g., a cellular telephone networksignal) associated with the device. For example, a radio frequency(“RF”) triangulation detector or sensor integrated with or connected tothe electronic device can determine the approximate location of thedevice. The device's approximate location can be determined based onvarious measurements of the device's own network signal, such as: (1)the angle of the signal's approach to or from one or more cellulartowers, (2) the amount of time for the signal to reach one or morecellular towers or the user's device, (3) the strength of the signalwhen it reaches one or more towers or the user's device, or anycombination of the aforementioned measurements, for example. Other formsof wireless-assisted GPS (sometimes referred to herein as enhanced GPSor A-GPS) can also be used to determine the current position ofelectronic device 100. Instead or in addition, the positioning circuitryof the device can the location of the device based on a wireless networkor access point that is in range or a wireless network or access pointto which the device is currently connected. For example, becausewireless networks have a finite range, a network that is in range of thedevice can indicate that the device is located in the approximategeographic location of the wireless network. In some embodiments, thedevice can automatically connect to a wireless network that is in rangein order to receive the valid modes of operation for that location.

A user of the electronic device can direct the device to display anysuitable information. For example, the device can display a file thatincludes text (e.g., as paragraphs, in a table, as part of apresentation, or in any other format). As another example, the devicecan display one or more images (e.g., from an album of images, or acollection of images showing the appearance of a scenery in a world).The amount of information displayed at any given time can be limited byone or more of the dimensions of the electronic device display, and thesize or zoom of the information requested by the user. In particular,the more a user wishes to zoom in on information (e.g., use a largerfont for displayed words), the less of the entire information can bedisplayed at a particular moment in time.

FIG. 2 is a schematic view of an illustrative display of text inaccordance with one embodiment of the invention. Display 200 can includetext 202, which can be organized in any suitable manner. For example,text 202 can be organized in one or more paragraphs, tables, as part ofa presentation, in a manner defined by a particular application, or anyother suitable manner. The displayed text can be part of a largerdocument, for example text from one page or part of one page of amultiple page document. The device can indicate that additional text isavailable using any suitable manner, including for example scroll bars210 and 212, or any other displayed indication of additional text (e.g.,on-screen arrows or icons to scroll up and down). To view the additionaltext, the user can direct the device to scroll by providing a scrollinginput using an input mechanism (e.g., direct a cursor to move usingdirectional keys) or select one of the displayed options for scrollingthe display. In response to receiving an appropriate instruction, theelectronic device can scroll the displayed text.

FIG. 3 is a schematic view of an illustrative display of an image inaccordance with one embodiment of the invention. Display 300 can includeimage 302 of any suitable object or world. For example, image 302 caninclude an image from a street view of a real-world location. As anotherexample, image 302 can depict a location in a virtual world (e.g., agame world, or an alternate world populated by virtual characters). Insome embodiments, display 300 can include overlay 304 providing contextfor image 302 (e.g., a map), or any other suitable overlay. Display 300can include any suitable overlay to indicate to the user that additionalinformation is available for display. For example, display 300 caninclude scroll bars 310 and 312, or any other displayed indication ofadditional portions of an image (e.g., on-screen arrows or icons toscroll up and down). To view the additional portions of the image, theuser can direct the device to scroll by providing a scrolling inputusing an input mechanism (e.g., direct a cursor to move usingdirectional keys) or select one of the displayed options for scrollingthe display. In response to receiving an appropriate instruction, theelectronic device can scroll the displayed information.

Although FIGS. 2 and 3 show displays of text and images, respectively,it will be understood that information displayed by an electronic devicecan include combinations of text and images, as well as selectableoptions, menus, pop-up windows, icons, docks, or any other content thatcan be displayed by the device. In particular, each of displays 200 and300 can include, instead of or in addition to the information displayed,one or more selectable options for navigating the displayed information(e.g., closing a displayed window or document), performing electronicdevice operations (e.g., launching an application), or any other actionfor controlling the electronic device.

In some embodiments, a user may not be able to actuate an inputmechanism to direct the display to scroll the displayed information. Forexample, the user's hands may be occupied and unable to press one ormore buttons, or navigate a cursor or selection mechanism to a displayedoption. To allow a user to nevertheless view different informationwithout providing an input using an input mechanism, the electronicdevice can associate deterministic movements of the device withinstructions to display additional information. In particular, theelectronic device can scroll the display of information in a mannerrelated to the movement of the device in the plane of the display.

The user can enable deterministic movement based scrolling using anysuitable approach. In some embodiments, the user can enable movementbased scrolling by providing a particular input using an inputmechanism. For example, a user can press one or more buttons or keysassociated with enabling movement based scrolling using an inputmechanism. As another example, a user can move an electronic device in aparticular manner (e.g., shake and twist a device in a particularmanner) to enable movement based scrolling. As still another example, acombination of an input using an input mechanism and deterministicmovement of the device can be used (e.g., shake the device while placinga finger on a touch screen). The electronic device can indicate to auser that the movement based scrolling mode has been enabled using anysuitable approach, including for example using one or more of an audioindication and a visual indication. FIG. 4 is a schematic view of anillustrative display having an indication that a movement basedscrolling mode has been enabled. Display 400 can include information 402extending beyond the periphery of the electronic device display, andpop-up 410 indicating that the movement based scrolling mode has beenenabled. If the user inadvertently provided an input associated withenabling the mode, the user can select displayed cancel option 412 todisable the movement based scrolling mode.

Once the movement based scrolling mode is enabled, the electronic devicecan correlate device movements with the scrolling of displayedinformation. In particular, the electronic device can perform anysuitable processing on the data provided by the motion sensingcomponents of the electronic device. For example, the electronic devicecan process a motion sensing component output to generate at least onevector indicating a direction and magnitude of the electronic devicemotion. As another example, the electronic device can integrateacceleration information received from the motion sensing component todefine velocity information, displacement information (e.g., thedistance and orientation of the electronic device movement), or both. Insome embodiments, the electronic device processing can extract devicemotion along particular axes or in particular planes. For example, theelectronic device can process motion sensing component outputs toextract data reflecting motion of the electronic device in the plane ofthe display. As another example, the electronic device can identify andquantify tilting motion of the device (e.g., motion that causes theplane of the display to change).

Using the processed and quantified electronic device movementinformation, the electronic device can determine the correlation betweenthe quantified device movement information and the amount by which toscroll displayed information. In some embodiments, the correlation canbe related to the relative size of the displayed information. FIG. 5 isa schematic view of an illustrative display as the device moves inaccordance with one embodiment of the invention. In the example of FIG.5, a user can be viewing image 502, which can be larger than the size ofthe device display (e.g., display 510). This therefore limits the amountof image 502 that the user can view at any given time. To view portionsof image 502 that are not displayed, the user can move the electronicdevice such that display 510 changes from position 520 to positions 522,524, 526 and finally position 528 (e.g., the device moves in the planeof display 510 from position 520 to position 528 relative to origin512). As display 510 moves, the portions of image 502 displayed canchange to give the effect that display 510 is a mobile window over image502 that the user can move to see different portions of the image.

The electronic device can correlate the device movement and theinformation displacement using any suitable approach. For example, thecorrelation can be related to the zoom or amount of the totalinformation available for display by the device at any particular time(e.g., 1 cm of device displacement corresponds to the displacement bythe on-screen equivalent of 1 cm, thus accounting for zoom). As anotherexample, the correlation can be related to the amount of totalinformation available for display on the document (e.g., 1 cmdisplacement corresponds to a displacement of 1/100 of the availableinformation so that the user can scroll from one end of the informationto the other end by moving the device by 1 m). As still another example,combinations of these approaches can be used (e.g., apply a correlationrelated to zoom until the size of the zoomed information exceeds aparticular limit). To assist the user in navigating the displayedinformation, the correlation can be defined such that when the userreturns the electronic device to a particular spatial position relativean origin (e.g., relative the position of the device when the movementbased scrolling mode is enabled), the same information is alwaysdisplayed. In some embodiments, the electronic device can thereforeignore movements of the device once the device reaches an edge of thedisplayed information, but resume changing the displayed informationonly once the device returns to a position relative the origin thatreflects the edge of the displayed information. Such an approach canenhance the user's ability to use movement based scrolling by providinga known physical correlation to the user's movement. Alternatively, thedevice can resume changing the display of information as soon asmovement away from the detected edge is identified.

In some embodiments, the correlation between device movement andinformation scrolling can include a non-linear portion. For example, theamount of displacement initially as the device first starts to move canbe small and ramp up, and the amount of displacement as the device stopsmoving can decrease rapidly before slowing down. The non-lineardisplacement at one or both of the beginning and end of the devicedisplacement can allow the user's eyes to anticipate and better followthe displacement of the information as it occurs. The particularmathematical definition of the non-linear displacement can include anysuitable non-linear formulation, including for example one associatedwith a hysteresis. In some embodiments, heuristics can be used to definethe exact displacements to associate with each of the beginning and endof the device movement (e.g., based on the amount of movement, initialor final acceleration associated with the movement, boundaries ofinformation available, or whether the displacement is associated withthe beginning or end of the movement).

The movement based scrolling mode can be of particular interest inaccelerating environments. For example, a user can enable a movementbased scrolling mode as a user reads a document on an airplane or in acar or train, or in any other suitable mode of transportation. When theuser's transportation unexpectedly moves (e.g., turbulence or bumps inthe road) along the plane of the device, the displayed portion of thedocument can change to follow the displacement of the user relative tothe device display, thus ensuring that the actual information displayedmatches the information expected by the user's eyes. In other words, thewindow into the information (e.g., shown by the consecutive displaypositions in FIG. 5) can move with the accelerating environment, whilethe information being displayed can remain immobile relative to the user(e.g., as if the user was viewing static information).

In some embodiments, however, the accelerating environment can providean acceleration signal detected by the device which can cause theinformation displayed to change despite the user not moving the device(e.g., the acceleration of the environment was interpreted as anacceleration requested by the user). To eliminate the portion ofdetected acceleration due to the user's environment, the device mayrequire information describing the acceleration of the environment. Suchinformation can be provided using any suitable approach. In someembodiments, a component of the user's environment can include motiondetection circuitry indicative only of the environment acceleration. Forexample, an automobile can include one or more accelerometers fordetecting the acceleration of the automobile. As another example, anaircraft can include one or more gyroscopes used for navigation anddisplaying aircraft characteristics to a pilot. The motion detectioncomponent of the environment can then broadcast or transmit directly tothe device (e.g., upon request from the device, automatically generatedin response to entering the movement based scrolling mode) detectedenvironment acceleration information (e.g., in real time). In responseto receiving the environment acceleration information, the electronicdevice can process detected acceleration to extract the receivedacceleration information (e.g., perform a subtraction operation as partof the processing) and isolate the acceleration information associatedwith the user's movement of the device. The user's environment can useany suitable wired or wireless communications protocol to provide theenvironment acceleration information to the device, including forexample Bluetooth or Wi-Fi.

In some embodiments, the user's environment may not include motiondetection circuitry. To determine the portion of the detectedacceleration due to the user's environment, the electronic device canfirst determine the expected route of the user's environment, and thenpredict environment accelerations associated with the determined route.In some embodiments, the electronic device can receive the user's routefrom a user input. For example, the user can direct the electronicdevice to provide a route and directions for going from a startingposition to a destination (e.g., using a mapping application of thedevice). As another example, the electronic device can extract a routefrom a history of routes entered by the user (e.g., the user has reachedthe destination but has not requested return directions; the device canassume that the user will be returning to the starting position).

In some embodiments, the electronic device can instead anticipate theuser's route or portions of the user's route based one or more of theuser's current position, the user's displacement history, mappinginformation, or any other suitable criteria. The device can determinedevice positioning information using any suitable component, includingfor example positioning circuitry (e.g., GPS data from past devicemovements). In some embodiments, the electronic device can monitor auser's movements over a period of time and determine that at aparticular day and time (or several days and times), the user (and thedevice) follows a particular route. For example, the electronic devicecan determine that one or both of location and acceleration data followa pattern during weekday commutes (e.g., acceleration and location dataassociated with a train ride). The electronic device can then predictthat on all workdays (e.g., non-weekend and non-holidays, andnon-vacation days as determined from a calendar or other applicationavailable on the device), the device will be subject to the accelerationassociated with the commute. The electronic device can then removepredicted acceleration information, as determined by the historicaldata, from detected acceleration information to identify the particularacceleration information associated with the user's deterministicmovements of the device.

In some embodiments, the electronic device can instead or in additiondetermine the user's current location, speed, and available roads orother infrastructure. From the user's current location and the availableinfrastructure, the electronic device can predict, with varying levelsof certainty (for example, due to the width or number of lanes in aroad), the expected route the user will follow in the near future. Forexample, if the user is located on a road that has no immediateintersections, the device can predict that the user is most likely tokeep following the road. As another example, if the user is located on aroad that has an entrance to a highway that substantially follows theroad, the device can predict that the user is most likely to enter thehighway to get to the user's destination faster. In some embodiments,the predictive model can be further refined using the user's history(e.g., locations where the user typically stops, such as home, officeand usual store locations). Using the shape or curve of the expectedroad or other infrastructure, and the user's current speed, theelectronic device can predict an expected acceleration that will beapplied to the device. For example, the electronic device can determinefrom the curvature of a road and the user's speed the accelerationvectors tangential to the road and towards the origin of the circleassociated with the road curvature to which the device will besubjected.

To improve the electronic device predictive model, additionalinformation related to the user's environment can be provided to thedevice. For example, the electronic device can retrieve one or both oftraffic and weather information that could affect the user's expectedspeed. As another example, the electronic device can retrieveinformation for scheduling changes or modifications of a publictransportation system (e.g., train delays). As still another example,the electronic device can determine from a user's calendar informationwhen a user's schedule will change the user's environment (e.g.,determine which of two or more commuting modes the user will use).

In some cases, a user may wish to temporarily disable then re-enable themovement based scrolling mode. For example, the user may know that theuser's environment will accelerate in an unpredictable manner. Asanother example, the user may wish to move the device as the userrepositions himself (e.g., adjusts his seat) without changing thedisplayed information. Any suitable approach can be used to disable ortemporarily disable the movement based scrolling mode. For example, theuser can provide an input on an input mechanism (e.g., press and hold abutton, or place a finger on a touch screen) to disable the mode. Whenthe user releases the input (e.g., releases the button or removes hisfinger from the touch screen) or provides a second input (e.g., pressesa second button or slides a finger across the touch screen), the devicecan re-enable the mode. The electronic device can redefine the movementorigin each time the mode is re-enabled such that the user can return tothe position of the device when the mode was re-enabled to display theinformation initially provided by the device when it was located at itsoriginal position.

In some embodiments, a user may move the device in a plane other thanthe plane of the display. If the motion sensing component isappropriately oriented, it may identify the non-display plane componentsof the acceleration (e.g., z-axis acceleration). The electronic devicecan then perform any suitable action using the out-of-plane accelerationinformation. In some embodiments, the electronic device may not performany action. In some embodiments, the electronic device can perform anoperation associated with the movement based scrolling mode (e.g.,enable or disable the mode, or temporarily disable the mode). In someembodiments, the electronic device can change the zoom of the displayedinformation based on the detected acceleration component. For example,the electronic device can zoom in the information when the devicedetermines that the display is moving towards the user, and zoom out theinformation when the display moves away from the user. One or both ofthe zoom amount (e.g., as an absolute value or as a percentage of theavailable zoom) and the zoom rate can be adjusted based on the varyingvalue of the out of plane acceleration component (e.g., zoom more orfaster as the device moves faster).

If the motion sensing component includes the capability of detecting orcalculating the rotation of the device in the plane of the display, theelectronic device can modify the display of the information to maintainthe user's perspective of the displayed information despite the changein display orientation. For example, if the display tilts away from ortowards the user, the electronic device can stretch portions of thedisplayed information to maintain the user's perception of theinformation. FIG. 6 is a schematic view of an illustrative display ofinformation when an electronic device is tilted in accordance with oneembodiment of the invention. Display 600 can include image 602 displayedto the user. To account for the tilt of the device, image 602 can bestretched such that when the user views display 600 from an angle (e.g.,not straight on), the image appears to be unmodified. The amount bywhich image 602 is stretched or modified can be related to the detectedtilt amount using any suitable approach. For example, the modificationcan be related to the amount of tilt, the speed of the tilt, or anyother measurable characteristic of the tilt. In addition, themodification can occur using any linear or non-linear correlation,including for example using a hysteresis (e.g., as described above inconnection with scrolling). The amount by which data is modified can beselected such that, from the user's perspective relative to the tilteddisplay, the information displayed appears as if the user is viewing theinformation through a smaller window (e.g., the tilted display simplyreduces the size of the window for viewing the information).

The following flowcharts illustrate the steps of various processes usedin different embodiments of the invention. FIG. 7 is a flowchart of anillustrative process for scrolling displayed information based ondeterministic movements of an electronic device in accordance with oneembodiment of the invention. Process 700 can begin at step 702. At step704, the electronic device can determine whether a movement basedscrolling mode is enabled. For example, the electronic device candetermine whether the user has provided an input (e.g., using one ormore of an input mechanism and movements of the device) for enabling themode. As another example, the electronic device can determine whetherthe user has re-enabled a movement based scrolling mode aftertemporarily disabling the mode. If the electronic device determines thata movement based scrolling mode is not enabled, process 700 can move tostep 706 and end.

If, at step 704, the electronic device instead determines that themovement based scrolling mode is enabled, process 700 can move to step708. At step 708, the electronic device can determine whether a signalindicative of device movement is detected. For example, the electronicdevice can determine whether a motion sensing component is providing anoutput associated with a particular device movement (e.g., whether anaccelerometer is providing an output). If the electronic devicedetermines that no signal indicative of electronic device movement isdetected, process 700 can return to step 704 and monitor for disablingof the movement based scrolling mode.

If, at step 708, the electronic device instead detects a signalindicative of electronic device movement, process 700 can move to step710. At step 710, the electronic device can determine the amount ofscrolling associated with the detected signal. For example, theelectronic device can define a vector (e.g., a direction and an amountor length) associated with the movement. Using the vector, theelectronic device can determine the particular manner in which displayedinformation is to scroll. For example, the electronic device candetermine the direction in which to scroll information based on thedetermined vector direction. As another example, the electronic devicecan determine one or both of the amount and speed at which to scroll theinformation based on the determined vector length. In some embodiments,the amount and speed can include a hysteresis. At step 712, theelectronic device can scroll the displayed information using thedetermined amount and direction. For example, the electronic device canscroll information based on the direction and amount determined at step710. If the electronic device reaches an edge of the displayedinformation, the electronic device can stop scrolling the information(e.g., ignore subsequent device movements in the direction of the edge).Process 700 can then return to step 704 and monitor for disabling of themovement based scrolling mode.

FIG. 8 is a flow chart of an illustrative process for determining motioninformation associated with an accelerating environment in accordancewith one embodiment of the invention. Process 800 can begin at step 802.At step 804, the electronic device can scan for transmitted motionsensing data associated with an environment. For example, the electronicdevice can scan, along one or more communications protocols, for datafrom a motion sensing component (e.g., acceleration data from anaccelerometer). At step 806, the electronic device can determine whethermotion sensing data was received from a remote source. For example, theelectronic device can determine whether communications circuitrydetected or received motion sensing information. If the electronicdevice determines that motion sensing information was received, process800 can move to step 808. At step 808, the electronic device can processthe received motion sensing data to match or compare the data withmotion sensing information detected by a motion sensing component of thedevice. For example, the electronic device can convert rotationalacceleration information to linear acceleration information, process thereceived information to align the axes from which motion is detected ofboth the environment and the electronic device, or integrate or derivethe received data to convert velocity data to or from acceleration data.Process 800 can then move to step 818, described in more detail below.

If, at step 806, the electronic device instead determines that no motionsensing data was received, process 800 can move to step 810. At step810, the electronic device can determine whether the environment'sexpected movement can be predicted. For example, the electronic devicecan determine whether a user has provided an indication of a route thatwill be traveled by the user (e.g., the user requested directions for aroute that the user is expected to follow). As another example, theelectronic device can determine whether the user has identified aparticular mode of transportation having a predetermined course (e.g.,the user selected a particular train schedule, or purchased tickets forair or train travel at a particular time and on a particular vehicle).In some embodiments, the electronic device can instead or in additiondetermine the expected movement of the environment based on the user'shistory and past movements. For example, the electronic device candetermine, from the user's past use, that the user follows a particularpath having a substantially regular or expected motion sensing patternat particular times of day (e.g., the motion sensing component output ofa commute at a given time of day remains substantially similar duringthe commute). The electronic device can then determine that the user hasstarted the expected movement based on the output of the motion sensingcomponent (e.g., a unique initial output associated with the beginningof a commute) or on the location of the device (e.g., GPS circuitry ofthe device identifies the start of the user's commute).

If the electronic device determines that an indication of the user'sexpected movement was provided, process 800 can move to step 812. Atstep 812, the electronic device can predict motion sensing componentoutputs associated with the expected movement. For example, theelectronic device can determine the expected speed and path of theuser's environment during the expected movement, and computeacceleration information associated with the expected movement. In someembodiments, the electronic device can receive additional information,such as traffic and weather information to improve the accelerationpredictions (e.g., predict variations in acceleration due to stop and gotraffic if the traffic information indicates traffic jams). Process 800can then move to step 818, described in more detail below.

If, at step 810, the electronic device instead determines that noindication of the user's expected movement was provided, process 800 canmove to step 814. At step 814, the electronic device can determinewhether the electronic device can predict the movement of the user'senvironment based on the current location of the device. For example,the electronic device can determine whether the user is on a vehiclethat can only follow one direction over a particular distance (e.g., theuser is on a road that has no turn-offs for a given distance, or theuser is in a train that is limited by train tracks). If the electronicdevice determines that the movement of the user's environment can bepredicted based on the current location of the user, process 800 canmove to step 816. At step 816, the electronic device can predict motionsensing component outputs associated with the short-term expectedmovement. For example, the electronic device can determine the expectedspeed and path of the user's environment during the short-term expectedmovement, and compute acceleration information associated with theexpected movement. In some embodiments, the electronic device canreceive additional information, such as traffic and weather informationto improve the acceleration predictions. Process 800 can then move tostep 818, described in more detail below.

At step 818, the electronic device can extract, from the detected motionsensing information of the device (e.g., from the output of a motionsensing component of the device), the motion sensing data associatedwith the environment that was received or predicted. For example, theelectronic device can process the environment data to correspond to themeasurements of the device (e.g., process the data to generateacceleration information defined along the same origin and axes as thedevice, for example determined using location or GPS data) and subtractthe processed data from the data measured by the device. Process 800 canthen use the processed data, corresponding only to the device movement,to scroll information displayed by the device (e.g., perform process700, FIG. 7 using the processed acceleration data). Process 800 can thenend at step 820. If, at step 814, the electronic device insteaddetermines that the movement of the user's environment cannot bepredicted, process 800 can move to step 820 and end. Alternatively,process 800 can move to process 700 (FIG. 7) and provide movement basedscrolling without accounting for an accelerating environment.

FIG. 9 is a flow chart of an illustrative process for modifyingdisplayed information based on motion in a plane other than the plane ofthe display in accordance with one embodiment of the invention. Process900 can begin at step 902. At step 904, the electronic device candetermine whether a movement based scrolling mode is enabled. Forexample, the electronic device can determine whether the user hasprovided an input for enabling the mode. As another example, theelectronic device can determine whether the user has re-enabled amovement based scrolling mode after temporarily disabling the mode. Ifthe electronic device determines that a movement based scrolling mode isnot enabled, process 900 can move to step 906 and end.

If, at step 904, the electronic device instead determines that themovement based scrolling mode is enabled, process 900 can move to step908. At step 908, the electronic device can determine whether a signalindicative of device movement is detected. For example, the electronicdevice can determine whether a signal for movement of the device out ofthe display plane was detected. For example, the electronic device candetermine whether a motion sensing component provided an outputassociated with movement in a plane other than that of the electronicdevice display (e.g., whether an accelerometer associated with an axisperpendicular to the display detected movement). If the electronicdevice determines that no signal was detected, process 900 can return tostep 904 and monitor for disabling of the movement based scrolling mode.

If, at step 908, the electronic device instead detects a signalindicative of electronic device movement out of the display plane,process 900 can move to step 910. At step 910, the electronic device candetermine the modification of the display based on the detected signal.For example, the electronic device can define a vector (e.g., adirection and an amount or length) associated with the out of planemovement. In some embodiments, the vector can be oriented perpendicularto the plane, such that the electronic device need only determine thelength or amount associated with the vector. Using the vector, theelectronic device can determine the particular manner in which to modifythe displayed information. For example, the electronic device candetermine the amount by which to stretch the displayed information toaccount for device tilt. As another example, the electronic device candetermine the amount by which to zoom displayed information (e.g., zoomin when the device moves towards the user). In some embodiments, theelectronic device can determine one or both of the amount and speed atwhich to modify the information display based on the determined vectorlength. In some embodiments, the amount and speed can include ahysteresis. At step 912, the electronic device can modify the displayedinformation based on the determined modification. If the electronicdevice reaches an edge or limit of the display modification, theelectronic device can stop modifying the information (e.g., ignoresubsequent device movements in the direction of the limit). Process 900can then return to step 904 and monitor for disabling of the movementbased scrolling mode.

The above described embodiments of the invention are presented forpurposes of illustration and not of limitation, and the presentinvention is limited only by the claims which follow.

What is claimed is:
 1. A portable electronic device operative to scrolla display of information, comprising: a display operative to displayobjects to a user; a motion sensing component operative to detectmovements of the portable electronic device; and control circuitryoperative to: enable a movement based scrolling mode; direct the displayto display a first portion of a first object, wherein, when the firstportion is displayed, a second portion of the first object exceeds theboundaries of the display; receive first data from the motion sensingcomponent that is indicative of a first movement of the portableelectronic device that is detected by the motion sensing component;decide that the detected first movement is at least partially caused byat least one movement of an environment of the portable electronicdevice that is distinct from the user by one of receiving movementinformation that corresponds to the at least one movement of theenvironment from a remote source and predicting the at least onemovement of the environment; in response to the decision that thedetected first movement is at least partially caused by the at least onemovement of the environment, determine second data that corresponds tothe at least one movement of the environment; process the received firstdata based on the determined second data to remove a portion of thedetected first movement that is due to the at least one movement of theenvironment; and direct the display to scroll the displayed firstportion to display at least a portion of the second portion based on theprocessed first data.
 2. The portable electronic device of claim 1,wherein the control circuitry is further operative to: identify arepresentation on the display of a particular physical distance; anddirect the display to scroll the displayed first portion to display theat least a portion of the second portion based on the identifiedrepresentation.
 3. The portable electronic device of claim 1, whereinthe control circuitry is further operative to: detect a physical amountof the detected first movement; identify a representation on the displayof a particular physical distance that corresponds to the detectedphysical amount; and direct the display to scroll the displayed firstportion to display at least a portion of the second portion based on theidentified representation.
 4. The portable electronic device of claim 1,wherein the control circuitry is further operative to: direct thedisplay to display the first portion when enabling the movement basedscrolling mode; determine an initial position of the portable electronicdevice when enabling the movement based scrolling mode; determine that acurrent position of the portable electronic device matches the initialposition; and direct the display to display the first portion inresponse to the determining that the current position matches theinitial position.
 5. The portable electronic device of claim 1, wherein:the portable electronic device further comprises an input mechanism forreceiving user inputs; and the control circuitry is further operative toreceive at least a first user input from the input mechanism to enablethe movement based scrolling mode.
 6. The portable electronic device ofclaim 5, wherein the control circuitry is further operative to: whilethe movement based scrolling mode is enabled, receive at least a seconduser input from the input mechanism to disable the movement basedscrolling mode; disable the movement based scrolling mode in response toreceiving the at least a second user input; while the movement basedscrolling mode is disabled, disregard any received data that is providedby the motion sensing component; and direct the display to maintain thedisplay of at least one of the first portion and the at least a portionof the second portion.
 7. The portable electronic device of claim 6,wherein the control circuitry is further operative to: while themovement based scrolling mode is disabled, receive at least a third userinput from the input mechanism to re-enable the movement based scrollingmode; receive third data from the motion sensing component that isindicative of a detected second movement of the portable electronicdevice; determine that the detected second movement is at leastpartially caused by at least another movement of the environment;determine fourth data that corresponds to the at least another movement;process the received third data based on the determined fourth data; anddirect the display to scroll the displayed at least one of the firstportion and the at least a portion of the second portion to display atleast a portion of a third portion of the object based on the processedthird data.
 8. The portable electronic device of claim 7, wherein: thedisplay comprises a touch screen component; the received at least asecond user input comprises a touch of the touch screen component; andthe received at least a third user input comprises a removing of thetouch from the touch screen component.
 9. The portable electronic deviceof claim 1, wherein the control circuitry is operative to process thereceived first data based on the determined second data by: identifyingat least one component of the received first data that is associatedwith movement of the portable electronic device in a plane of thedisplay; and define a vector based on the identified at least onecomponent, wherein the vector comprises: an orientation; and a length.10. The portable electronic device of claim 1, wherein the motionsensing component comprises at least one of an accelerometer and agyroscope.
 11. The portable electronic device of claim 1, wherein theenvironment comprises a vehicle.
 12. The portable electronic device ofclaim 1, wherein the control circuitry is operative to process thereceived first data based on the determined second data by subtractingthe determined second data from the received first data.
 13. Theportable electronic device of claim 1 further comprising communicationscircuitry for receiving environment data comprising the movementinformation that is associated with the environment from the remotesource, wherein the control circuitry is operative to decide that thedetected first movement is at least partially caused by the at least onemovement of the environment by determining that first environment datathat corresponds to the at least one movement is received by thecommunications circuitry.
 14. The portable electronic device of claim13, wherein the control circuitry is operative to determine the seconddata by processing the received first environment data.
 15. The portableelectronic device of claim 1, wherein: the received first data comprisesat least a first acceleration value; and the determined second datacomprises at least a second acceleration value.
 16. The portableelectronic device of claim 1, wherein the control circuitry is operativeto decide that the detected first movement is at least partially causedby the at least one movement of the environment by determining that thesecond data is predictable.
 17. The portable electronic device of claim16 further comprising a user input mechanism for receiving user inputsthat are associated with movements of the environment, wherein thecontrol circuitry is operative to determine that the second data ispredictable by determining that at least one user input is received fromthe user input mechanism.
 18. The portable electronic device of claim17, wherein the received at least one user input comprises at least oneof an indication of a route and a mode of transportation.
 19. Theportable electronic device of claim 17, wherein the control circuitry isoperative to determine that the second data is predictable based on thereceived at least one user input.
 20. The portable electronic device ofclaim 16, wherein the control circuitry is operative to determine thatthe second data is predictable based on a current location of theportable electronic device.
 21. The portable electronic device of claim20, wherein the current location comprises at least one of a road andtrain tracks.
 22. The portable electronic device of claim 20, whereinthe control circuitry is operative to determine the second data based onthe current location.
 23. A method for scrolling a display ofinformation using a portable electronic device, comprising: displayingwith a display of the portable electronic device a first portion of anobject, wherein, when the first portion is displayed, a second portionof the object extends beyond the periphery of the display; outputtingwith a motion sensing component of the portable electronic device firstdata that is indicative of a first movement of the portable electronicdevice that is detected by the motion sensing component; deciding withthe portable electronic device that the detected first movement is atleast partially caused by at least one movement of an environment of theportable electronic device that is distinct from a user of the portableelectronic device, wherein the deciding comprises one of receivingmovement information that corresponds to the at least one movement ofthe environment from a source remote from the portable electronic deviceand predicting the at least one movement of the environment; in responseto the deciding that the detected first movement is at least partiallycaused by the at least one movement of the environment, determining withthe portable electronic device second data that corresponds to the atleast one movement of the environment; processing with the portableelectronic device the received first data based on the determined seconddata to remove a portion of the detected first movement that is due tothe at least one movement of the environment; and scrolling with thedisplay the displayed first portion to display at least a portion of thesecond portion based on the processed first data.
 24. The method ofclaim 23, wherein the processing comprises subtracting the determinedsecond data from the received first data.
 25. The method of claim 23,wherein: the deciding comprises receiving with the portable electronicdevice the movement information that corresponds to the at least onemovement of the environment from a sensor that is embedded in theenvironment; and the determining the second data comprises processingwith the portable electronic device the received movement information tocorrelate the received movement information with the detected firstmovement.
 26. The method of claim 25, wherein the processing thereceived movement information comprises at least one of: converting thereceived movement information to a different unit; and adjusting areference frame that is associated with the received movementinformation.
 27. The method of claim 23, wherein: the deciding comprisesdetermining that an indication from a user of a path that theenvironment follows is received by the portable electronic device; andthe determining the second data comprises predicting movementinformation that is associated with the path.
 28. The method of claim27, wherein the predicting comprises predicting an output of the motionsensing component based on at least one characteristic of the path. 29.The method of claim 23, wherein the deciding comprises: identifying acurrent location of the portable electronic device; recognizing thatonly one path is available for the at least one movement of theenvironment over a particular distance; and the determining the seconddata comprises predicting movement information that is associated withthe recognized one path over the particular distance.
 30. The method ofclaim 23, wherein the environment comprises a vehicle.
 31. The method ofclaim 23, wherein the object comprises at least one of a document and animage.
 32. A method for scrolling a display of information using aportable electronic device, comprising: displaying an object on adisplay, wherein at least a portion of the object extends beyond aperiphery of the display; detecting a movement of the portableelectronic device in a plane of the display using a motion sensingcomponent; determining a movement of an environment of the portableelectronic device; isolating the detected movement of the portableelectronic device from the determined movement of the environment,wherein the determining comprises: identifying a current location of theportable electronic device; recognizing that only one path is availablefor the determined movement of the environment of the portableelectronic device over a particular distance; and predicting movementinformation associated with the only one path over the particulardistance in response to the recognizing, wherein the recognizing furthercomprises: identifying a transportation infrastructure of the identifiedcurrent location; determining an orientation of the identifiedtransportation infrastructure; and determining the direction along thedetermined orientation of the determined movement of the environment;and scrolling the displayed object based on the isolated detectedmovement to display the at least a portion of the object.
 33. The methodof claim 32, wherein the identified transportation infrastructurecomprises at least one of a road, a path, and a railroad track.
 34. Anelectronic device for displaying information, comprising: a displayoperative to display an object; a motion sensing component operative toprovide an output reflecting a motion of the electronic device, whereinthe motion comprises a tilt of the display from within a first plane towithin a second plane, and wherein the tilt comprises a rotation of thedisplay about an axis that lies within both the first plane and thesecond plane; and control circuitry operative to: receive the providedoutput of the motion sensing component; process the received output todetermine at least one value that corresponds to the motion; and directthe display to adjust a display size of at least a portion of thedisplayed object based on the determined at least one value such that aperception of the displayed object from a first angle is maintainedbetween the first plane and the second plane.
 35. The electronic deviceof claim 34, wherein the adjusting the display size comprises at leastone of zooming into and zooming out of the at least a portion of thedisplayed object.
 36. The electronic device of claim 34, wherein theadjusting the display size comprises stretching the at least a portionof the displayed object such that the perception of the displayed objectfrom the first angle is maintained between the first plane and thesecond plane.
 37. The electronic device of claim 36, wherein the firstangle comprises an angle from which the displayed object is viewable bya user.
 38. Non-transitory computer readable media for scrolling adisplay of information using a portable electronic device, comprisingcomputer-readable instructions for: displaying with a display of theportable electronic device a first portion of an object, wherein, whenthe first portion is displayed, a second portion of the object extendsbeyond the periphery of the display; outputting with a motion sensingcomponent of the portable electronic device first data that isindicative of a first movement of the portable electronic device that isdetected by the motion sensing component; deciding with the portableelectronic device that the detected first movement is at least partiallycaused by at least one movement of an environment of the portableelectronic device that is distinct from a user of the portableelectronic device, wherein the deciding comprises one of receivingmovement information that corresponds to the at least one movement ofthe environment from a source remote from the portable electronic deviceand predicting the at least one movement of the environment; in responseto the deciding that the detected first movement is at least partiallycaused by the at least one movement of the environment, determining withthe portable electronic device second data that corresponds to the atleast one movement of the environment; processing with the portableelectronic device the received first data based on the determined seconddata to remove a portion of the detected first movement that is due tothe at least one movement of the environment; and scrolling with thedisplay the displayed first portion to display at least a portion of thesecond portion based on the processed first data.
 39. The non-transitorycomputer readable media of claim 38, wherein the processing comprisessubtracting the determined second data from the received first data.